package com.cloudkinto.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * <p>
 *
 * </p>
 *
 * @author 张永远
 * @since 2020-06-03
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_order_rakuten")
public class OrderRakutenDo extends Model<OrderRakutenDo> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 注文番号
     */
    @TableField("order_number")
    private String orderNumber;

    /**
     * 订单状态 100: 注文確認待ち
     * 200: 楽天処理中
     * 300: 発送待ち
     * 400: 変更確定待ち
     * 500: 発送済
     * 600: 支払手続き中
     * 700: 支払手続き済
     * 800: キャンセル確定待ち
     * 900: キャンセル確定
     */
    @TableField("order_progress")
    private Integer orderProgress;

    @TableField("shop_id")
    private Long shopId;

    /**
     * 店铺确认日期
     */
    @TableField("shop_order_cfm_datetime")
    private String shopOrderCfmDatetime;

    /**
     * 顾客付款时间
     */
    @TableField("order_fix_datetime")
    private String orderFixDatetime;

    /**
     * 订单创建日期
     */
    @TableField("order_datetime")
    private String orderDatetime;

    /**
     * 発送指示日時
     */
    @TableField("shipping_inst_datetime")
    private String shippingInstDatetime;

    /**
     * 订单创建日期
     */
    @TableField("shipping_cmpl_rpt_datetime")
    private String shippingCmplRptDatetime;

    /**
     * 指定日期
     */
    @TableField("delivery_date")
    private String deliveryDate;

    /**
     * 時間帯
     */
    @TableField("shipping_term")
    private String shippingTerm;

    /**
     * 备注
     */
    @TableField("remarks")
    private String remarks;
    /**
     * sku
     */
    @TableField("commodity_sku")
    private String commoditySku;

    /**
     * 礼物标志
     */
    @TableField("gift_check_flag")
    private Integer giftCheckFlag;

    /**
     * 多目标标志
     */
    @TableField("some_sender_flag")
    private Integer someSenderFlag;

    /**
     * 目的地匹配标志
     */
    @TableField("equal_sender_flag")
    private Integer equalSenderFlag;

    /**
     * 是否是离岛地区
     */
    @TableField("isolated_island_flag")
    private Integer isolatedIslandFlag;

    /**
     * 是否是乐天会员
     */
    @TableField("rakuten_member_flag")
    private Integer rakutenMemberFlag;

    @TableField("asuraku_flag")
    private Integer asurakuFlag;

    /**
     * 1: 通常購入
     * 4: 定期購入
     * 5: 頒布会
     * 6: 予約商品
     */
    @TableField("order_type")
    private Integer orderType;

    /**
     * 定期購入、予約、頒布会の申込番号
     */
    @TableField("reserve_number")
    private String reserveNumber;

    /**
     * 0: 楽天確認中ではない
     * 1: 楽天確認中
     */
    @TableField("rakuten_confirm_flag")
    private Integer rakutenConfirmFlag;

    /**
     * 商品金额
     */
    @TableField("goods_price")
    private Float goodsPrice;

    /**
     * 请求金额
     */
    @TableField("request_price")
    private Float requestPrice;

    /**
     * 外税合计
     */
    @TableField("goods_tax")
    private Float goodsTax;

    /**
     * 运费合计
     */
    @TableField("postage_price")
    private Float postagePrice;

    /**
     * 购买人邮编
     */
    @TableField("order_post_code")
    private String orderPostCode;

    /**
     * 购买人都道府県
     */
    @TableField("order_prefecture")
    private String orderPrefecture;

    /**
     * 购买人郡市区
     */
    @TableField("order_city")
    private String orderCity;

    /**
     * 购买人住所
     */
    @TableField("order_sub_addres")
    private String orderSubAddres;

    /**
     * 购买人姓名
     */
    @TableField("order_name")
    private String orderName;

    /**
     * 购买人姓通假
     */
    @TableField("order_family_name_kana")
    private String orderFamilyNameKana;

    /**
     * 购买人名通假
     */
    @TableField("order_first_name_kana")
    private String orderFirstNameKana;

    /**
     * 购买人电话
     */
    @TableField("order_phone_number")
    private String orderPhoneNumber;

    /**
     * 购买人邮箱
     */
    @TableField("order_email_address")
    private String orderEmailAddress;

    /**
     * 购买人性别
     */
    @TableField("order_sex")
    private String orderSex;

    /**
     * 购买人生日
     */
    @TableField("order_birthday")
    private String orderBirthday;

    /**
     * 支付方式
     */
    @TableField("settlement_method")
    private String settlementMethod;

    /**
     * 配送方法
     */
    @TableField("delivery_name")
    private String deliveryName;

    /**
     * 使用积分
     */
    @TableField("used_point")
    private Integer usedPoint;

    /**
     * 使用优惠券
     */
    @TableField("used_coupon_total_price")
    private Integer usedCouponTotalPrice;

    @TableField("company_id")
    private Long companyId;

    /**
     * 是否转发货
     */
    @TableField("is_send_out")
    private Integer isSendOut;

    /**
     * 是否发邮件
     */
    @TableField("is_send_mail")
    private Integer isSendMail;

    /**
     * 是否回传单号
     */
    @TableField("is_upload_express")
    private Integer isUploadExpress;

    /**
     * 系统备注
     */
    @TableField("system_memo")
    private String systemMemo;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
